﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DotSpatial.Topology;

namespace HAGISV2
{

    /// <summary>
    /// 用于表示地下水的网格数据
    /// </summary>
    [Serializable]
   public  class HyGrid
    {
        public HyGrid(int nrows, int ncols, int nlayers,double[] rowCoords,double[] colCoords,double[] layerCoords, double orgX, double orgY, double orgZ, double rotate,Coordinate[,,] grid3DCoord)
        {

            this._orgX = orgX;
            this._orgY = orgY;
            this._orgZ = orgZ;
            _origin = new Coordinate(orgX, orgY, orgZ);
            this._rotationZ = rotate;

            this._rowCoords = rowCoords;

            this._colCoords = colCoords;
            this._layerCoords = layerCoords;

            this. _grid3DCoordinates = grid3DCoord;


            this._rowsCount = nrows; //网格Y
            this._colsCount = ncols; //网格X


            this._layersCount = nlayers; //网格Z

        }

        Coordinate[, ,] _grid3DCoordinates;
        /// <summary>
        /// Z,Y,X
        /// </summary>
        public Coordinate[, ,] Grid3DCoordinates
        {
            get { return _grid3DCoordinates; }
            set { _grid3DCoordinates = value; }
        }


        int _rowsCount;

        /// <summary>
        /// 数据的行数（单元格）
        /// </summary>
        public int RowsCount
        {
            get { return _rowsCount; }

        }

        int _colsCount;

        /// <summary>
        /// 数据的列数（单元格）
        /// </summary>
        public int ColsCount
        {
            get { return _colsCount; }

        }


        int _layersCount;

        /// <summary>
        /// 数据的层数（单元格）
        /// </summary>
        public int LayersCount
        {
            get { return _layersCount; }

        }

        Coordinate _origin;
        /// <summary>
        /// 原点坐标
        /// </summary>
        public Coordinate Origin
        {
            get { return _origin; }
            set { _origin = value; }
        }


        double[] _rowCoords;

        /// <summary>
        /// 
        /// </summary>
        public double[] RowCoords
        {
            get { return _rowCoords; }

        }

        double[] _colCoords;

        public double[] ColCoords
        {
            get { return _colCoords; }

        }


        double[] _layerCoords;

        public double[] LayerCoords
        {
            get { return _layerCoords; }

        }



        //一下是网格的地理信息系统

        double _orgX;

        public double OrgX
        {
            get { return _orgX; }
            set { _orgX = value; }
        }
        double _orgY;

        public double OrgY
        {
            get { return _orgY; }
            set { _orgY = value; }
        }
        double _orgZ;

        public double OrgZ
        {
            get { return _orgZ; }
            set { _orgZ = value; }
        }


        double _rotationZ;

        /// <summary>
        /// 表现用的选择角度
        /// </summary>
        public double RotationZ
        {
            get { return _rotationZ; }
            set { _rotationZ = value; }
        }


      


    }
}
